home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Interactive Reference Guide
/
C-C++ Interactive Reference Guide.iso
/
c_ref
/
csource5
/
368_01
/
gnulibas.zoo
/
patches
< prev
next >
Wrap
Text File
|
1990-09-19
|
25KB
|
746 lines
diff -c DOS/error.c GNU/error.c
*** DOS/error.c Thu Sep 20 00:19:04 1990
--- GNU/error.c Thu Sep 20 00:19:48 1990
***************
*** 45,55 ****
#else
void exit ();
- #ifdef MSDOS
- /* Force consistency of the prototypes. */
- #include <gnulib.h>
- #endif
-
static char *
strerror (errnum)
int errnum;
--- 45,50 ----
diff -c DOS/getopt.c GNU/getopt.c
*** DOS/getopt.c Thu Sep 20 00:19:02 1990
--- GNU/getopt.c Thu Sep 20 00:19:40 1990
***************
*** 14,26 ****
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
- /* MS-DOS port (c) 1990 by Thorsten Ohl, td12@ddagsi3.bitnet
- This port is distributed under the terms of the GNU General
- Public License as published by the Free Software Foundation.
-
- $Header: e:/gnu/lib/RCS/getopt.c 1.1.0.1 90/09/11 09:46:00 tho Exp $
- */
#ifdef __STDC__
#define CONST const
--- 14,19 ----
***************
*** 51,62 ****
#ifdef sparc
#include <alloca.h>
#else
- #ifdef MSDOS
- #include <malloc.h>
- #else
char *alloca ();
#endif
- #endif
#endif /* not __GNUC__ */
#if defined(STDC_HEADERS) || defined(__GNU_LIBRARY__)
--- 44,51 ----
***************
*** 79,91 ****
char *malloc ();
#endif
- #ifdef MSDOS
- /* Include the <getopt.h> header file to insure consistency
- of the prototypes. */
- #include <getopt.h>
- static void exchange (char **argv);
- #endif /* MSDOS */
-
/* For communication from `getopt' to the caller.
When `getopt' finds an option that takes an argument,
the argument value is returned here.
--- 68,73 ----
***************
*** 156,166 ****
REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
} ordering;
-
- /* We have included <getopt.h>, so we'd better not redefine
- struct option. */
- #ifndef MSDOS
-
/* Describe the long-named options requested by the application.
_GETOPT_LONG_OPTIONS is a vector of `struct option' terminated by an
element containing a name which is zero.
--- 138,143 ----
***************
*** 174,180 ****
int *flag;
int val;
};
- #endif /* not MSDOS */
CONST struct option *_getopt_long_options;
--- 151,156 ----
diff -c DOS/glob.c GNU/glob.c
*** DOS/glob.c Thu Sep 20 00:19:06 1990
--- GNU/glob.c Thu Sep 20 00:19:52 1990
***************
*** 14,26 ****
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
-
- /* MS-DOS port (c) 1990 by Thorsten Ohl, td12@ddagsi3.bitnet
- This port is distributed under the terms of the GNU General
- Public License as published by the Free Software Foundation.
-
- $Header: e:/gnu/lib/RCS/glob.c 1.0.0.3 90/09/19 22:50:58 tho Exp $
- */
/* To whomever it may concern: I have never seen the code which most
Unix programs use to perform this function. I wrote this from scratch
--- 14,19 ----
***************
*** 79,99 ****
#ifdef sparc
#include <alloca.h>
#else /* Not sparc. */
- #ifdef MSDOS
- #include <malloc.h>
- #else
extern char *alloca ();
- #endif
#endif /* sparc. */
#endif /* GCC. */
- #ifdef MSDOS
- #include <gnulib.h>
- static int glob_match_after_star(char *,char *);
- static char * *glob_dir_to_array(char *,char **);
- #endif /* MSDOS */
-
-
/* Nonzero if '*' and '?' do not match an initial '.' for glob_filename. */
int noglob_dot_filenames = 1;
--- 72,81 ----
***************
*** 331,342 ****
dp = readdir (d);
if (dp == NULL)
break;
- #ifdef MSDOS /* dp->d_ino is always 0 in the MS-DOS implementation. */
- if (glob_match (pat, dp->d_name, noglob_dot_filenames))
- #else
if (dp->d_ino != 0
&& glob_match (pat, dp->d_name, noglob_dot_filenames))
- #endif /* MSDOS */
{
nextlink = (struct globval *) alloca (sizeof (struct globval));
nextlink->next = lastlink;
--- 313,320 ----
***************
*** 570,579 ****
}
#ifdef TEST
-
- #ifdef MSDOS
- #include <stdio.h>
- #endif
main (argc, argv)
int argc;
--- 548,553 ----
diff -c DOS/regex.c GNU/regex.c
*** DOS/regex.c Thu Sep 20 00:19:32 1990
--- GNU/regex.c Thu Sep 20 00:20:06 1990
***************
*** 15,27 ****
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
- /* MS-DOS port (c) 1990 by Thorsten Ohl, td12@ddagsi3.bitnet
- This port is distributed under the terms of the GNU General
- Public License as published by the Free Software Foundation. */
- static char RCSid[] =
- "$Header: e:/gnu/lib/RCS/regex.c 1.1.0.1 90/09/11 09:24:43 tho Exp $";
-
/* To test, compile with -Dtest. This Dtestable feature turns this into
a self-contained program which reads a pattern, describes how it
compiles, then reads a string and searches for it.
--- 15,21 ----
***************
*** 58,122 ****
char *realloc ();
#endif
-
- #ifdef MSDOS
-
- /* At the moment these macros are used for shutting up the compiler, but
- one day we might support really 'huge' regular expressions.
- Also we should check for wrap-arounds in the near models. */
-
- #if defined (_MSC_VER) && (_MSC_VER >= 600)
- #define HUGE _huge
- #else /* _MSC_VER < 600 */
- #define HUGE huge
- #endif /* _MSC_VER < 600 */
-
- #if defined (M_I86CM) || defined (M_I86LM)
- #define PTR_DIFF(ptr1,ptr2) \
- ((long)((char HUGE *)(ptr1) - (char HUGE *)(ptr2)))
- #else
- /* After changing ALLOCATED to size_t for the small and medium model,
- we could remove the cast to long. */
- #define PTR_DIFF(ptr1,ptr2) ((long)((ptr1) - (ptr2)))
- #endif
-
- /* The second argument to xrealloc: */
- #define SIZE_T size_t
-
- /* The 80[12]?86 are always in danger of stack overflow. So better check
- the success of each alloca (). */
- #define TEST_ALLOCA(ptr) \
- if (ptr==NULL) \
- { \
- fprintf (stderr, "Stack overflow: %s, l.%d\n", __FILE__, __LINE__); \
- abort (); \
- }
-
- #else /* not MSDOS */
-
- #define PTR_DIFF(ptr1,ptr2) ((ptr1) - (ptr2))
- #define SIZE_T int
- #define TEST_ALLOCA(ptr)
-
- #endif /* not MSDOS */
-
-
- #ifdef MSDOS
- /* Since sizeof (int) != sizeof (void *) in the compact and large models,
- we'd better provide prototypes. */
- static int bcmp_translate (unsigned char *s1, unsigned char *s2, int len,
- unsigned char *translate);
- static void init_syntax_once (void);
- static void insert_jump (char op, char *from, char *to, char *current_end);
- static void insert_jump_n (char op, char *from, char *to, char *current_end,
- unsigned int n);
- static void insert_op_2 (char op, char *there, char *current_end, int num_1,
- int num_2);
- static void store_jump (char *from, char opcode, char *to);
- static void store_jump_n (char *from, char opcode, char *to, unsigned int n);
- #endif /* MSDOS */
-
-
/* Make alloca work the best possible way. */
#ifdef __GNUC__
#define alloca __builtin_alloca
--- 52,57 ----
***************
*** 124,136 ****
#ifdef sparc
#include <alloca.h>
#else
- #ifdef MSDOS
- #include <malloc.h>
- #else
char *alloca ();
#endif
#endif
- #endif
/* Define the syntax stuff, so we can do the \<, \>, etc. */
--- 59,67 ----
***************
*** 291,305 ****
/* Store NUMBER in two contiguous bytes starting at DESTINATION. */
- #ifdef MSDOS /* This is to shut up the compiler. */
- #define STORE_NUMBER(destination, number) \
- { (destination)[0] = (char) ((number) & 0377); \
- (destination)[1] = (char) ((number) >> 8); }
- #else /* not MSDOS */
#define STORE_NUMBER(destination, number) \
{ (destination)[0] = (number) & 0377; \
(destination)[1] = (number) >> 8; }
- #endif /* not MSDOS */
/* Same as STORE_NUMBER, except increment the destination pointer to
the byte after where the number is stored. Watch out that values for
--- 222,230 ----
***************
*** 330,340 ****
The argument SYNTAX is a bit-mask comprised of the various bits
defined in regex.h. */
! LONG
re_set_syntax (syntax)
! LONG syntax;
{
! LONG ret;
ret = obscure_syntax;
obscure_syntax = syntax;
--- 255,265 ----
The argument SYNTAX is a bit-mask comprised of the various bits
defined in regex.h. */
! int
re_set_syntax (syntax)
! int syntax;
{
! int ret;
ret = obscure_syntax;
obscure_syntax = syntax;
***************
*** 342,348 ****
}
/* Set by re_set_syntax to the current regexp syntax to recognize. */
! LONG obscure_syntax = 0;
--- 267,273 ----
}
/* Set by re_set_syntax to the current regexp syntax to recognize. */
! int obscure_syntax = 0;
***************
*** 372,378 ****
/* Make sure we have at least N more bytes of space in buffer. */
#define GET_BUFFER_SPACE(n) \
{ \
! while (PTR_DIFF (b, bufp->buffer) + (n) >= bufp->allocated) \
EXTEND_BUFFER; \
}
--- 297,303 ----
/* Make sure we have at least N more bytes of space in buffer. */
#define GET_BUFFER_SPACE(n) \
{ \
! while (b - bufp->buffer + (n) >= bufp->allocated) \
EXTEND_BUFFER; \
}
***************
*** 382,397 ****
GET_BUFFER_SPACE (1); \
*b++ = (char) (ch); \
}
!
! #ifdef MSDOS
! /* We could (if we payed more attention to signed/unsigned issues)
! increase MAX_ALLOC to (1L<<15). But we will do only *after* we've
! actually hit this limit! */
! #define MAX_ALLOC (1L<<14)
! #else /* not MSDOS */
! #define MAX_ALLOC (1L<<16)
! #endif /* not MSDOS */
!
/* Extend the buffer by twice its current size via reallociation and
reset the pointers that pointed into the old allocation to point to
the correct places in the new allocation. If extending the buffer
--- 307,313 ----
GET_BUFFER_SPACE (1); \
*b++ = (char) (ch); \
}
!
/* Extend the buffer by twice its current size via reallociation and
reset the pointers that pointed into the old allocation to point to
the correct places in the new allocation. If extending the buffer
***************
*** 398,407 ****
results in it being larger than 1 << 16, then flag memory exhausted. */
#define EXTEND_BUFFER \
{ char *old_buffer = bufp->buffer; \
! if (bufp->allocated == MAX_ALLOC) goto too_big; \
bufp->allocated *= 2; \
! if (bufp->allocated > MAX_ALLOC) bufp->allocated = MAX_ALLOC; \
! bufp->buffer = (char *) realloc (bufp->buffer, (SIZE_T) bufp->allocated); \
if (bufp->buffer == 0) \
goto memory_exhausted; \
b = (b - old_buffer) + bufp->buffer; \
--- 314,323 ----
results in it being larger than 1 << 16, then flag memory exhausted. */
#define EXTEND_BUFFER \
{ char *old_buffer = bufp->buffer; \
! if (bufp->allocated == (1L<<16)) goto too_big; \
bufp->allocated *= 2; \
! if (bufp->allocated > (1L<<16)) bufp->allocated = (1L<<16); \
! bufp->buffer = (char *) realloc (bufp->buffer, bufp->allocated); \
if (bufp->buffer == 0) \
goto memory_exhausted; \
b = (b - old_buffer) + bufp->buffer; \
***************
*** 717,723 ****
case '[':
if (p == pend)
goto invalid_pattern;
! while (PTR_DIFF (b , bufp->buffer)
> bufp->allocated - 3 - (1 << BYTEWIDTH) / BYTEWIDTH)
EXTEND_BUFFER;
--- 633,639 ----
case '[':
if (p == pend)
goto invalid_pattern;
! while (b - bufp->buffer
> bufp->allocated - 3 - (1 << BYTEWIDTH) / BYTEWIDTH)
EXTEND_BUFFER;
***************
*** 802,808 ****
if (c == ':' || c == ']' || p == pend
|| c1 == CHAR_CLASS_MAX_LENGTH)
break;
! str[c1++] = (char) c;
}
str[c1] = '\0';
if (p == pend
--- 718,724 ----
if (c == ':' || c == ']' || p == pend
|| c1 == CHAR_CLASS_MAX_LENGTH)
break;
! str[c1++] = c;
}
str[c1] = '\0';
if (p == pend
***************
*** 1387,1393 ****
struct re_pattern_buffer *bufp;
{
unsigned char *pattern = (unsigned char *) bufp->buffer;
! LONG size = bufp->used;
register char *fastmap = bufp->fastmap;
register unsigned char *p = pattern;
register unsigned char *pend = pattern + size;
--- 1303,1309 ----
struct re_pattern_buffer *bufp;
{
unsigned char *pattern = (unsigned char *) bufp->buffer;
! int size = bufp->used;
register char *fastmap = bufp->fastmap;
register unsigned char *p = pattern;
register unsigned char *pend = pattern + size;
***************
*** 1813,1819 ****
stackx = (unsigned char **) alloca (2 * MAX_NUM_FAILURE_ITEMS \
* (stacke - stackb) \
* sizeof (unsigned char *));\
- TEST_ALLOCA (stackx); \
/* Only copy what is in use. */ \
bcopy (stackb, stackx, (stackp - stackb) * sizeof (char *)); \
stackp = stackx + (stackp - stackb); \
--- 1729,1734 ----
***************
*** 2348,2355 ****
register unsigned char *p1 = p + mcnt;
/* p1[0] ... p1[2] are an on_failure_jump.
Examine what follows that. */
! if (p1[3] == (unsigned char) exactn
! && p1[5] != (unsigned char) c)
p[-3] = (unsigned char) finalize_jump;
else if (p1[3] == (unsigned char) charset
|| p1[3] == (unsigned char) charset_not)
--- 2263,2269 ----
register unsigned char *p1 = p + mcnt;
/* p1[0] ... p1[2] are an on_failure_jump.
Examine what follows that. */
! if (p1[3] == (unsigned char) exactn && p1[5] != c)
p[-3] = (unsigned char) finalize_jump;
else if (p1[3] == (unsigned char) charset
|| p1[3] == (unsigned char) charset_not)
***************
*** 2765,2775 ****
/* Allow a command argument to specify the style of syntax. */
if (argc > 1)
- #ifdef MSDOS
- obscure_syntax = atol (argv[1]);
- #else /* not MSDOS */
obscure_syntax = atoi (argv[1]);
- #endif /* not MSDOS */
buf.allocated = 40;
buf.buffer = (char *) malloc (buf.allocated);
--- 2679,2685 ----
diff -c DOS/regex.h GNU/regex.h
*** DOS/regex.h Thu Sep 20 00:19:10 1990
--- GNU/regex.h Thu Sep 20 00:19:56 1990
***************
*** 16,40 ****
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
- /* MS-DOS port (c) 1990 by Thorsten Ohl, td12@ddagsi3.bitnet
- This port is distributed under the terms of the GNU General
- Public License as published by the Free Software Foundation.
- $Header: e:/gnu/lib/RCS/regex.h 1.1.0.1 90/09/11 09:24:51 tho Exp $
- */
-
#ifdef __GNUC__
#pragma once
#endif
- #ifdef MSDOS
- #define LONG long
- #define ONE 1L
- #else /* not MSDOS */
- #define LONG int
- #define ONE 1
- #endif /* not MSDOS */
-
#ifndef __REGEXP_LIBRARY
#define __REGEXP_LIBRARY
--- 16,26 ----
***************
*** 52,58 ****
/* This defines the various regexp syntaxes. */
! extern LONG obscure_syntax;
/* The following bits are used in the obscure_syntax variable to choose among
--- 38,44 ----
/* This defines the various regexp syntaxes. */
! extern int obscure_syntax;
/* The following bits are used in the obscure_syntax variable to choose among
***************
*** 62,86 ****
parentheses are needed for literal searching.
If not set, backslash-parentheses are grouping, and plain parentheses
are for literal searching. */
! #define RE_NO_BK_PARENS ONE
/* If this bit is set, plain | serves as the `or'-operator, and \| is a
literal.
If not set, \| serves as the `or'-operator, and | is a literal. */
! #define RE_NO_BK_VBAR (ONE << 1)
/* If this bit is not set, plain + or ? serves as an operator, and \+, \? are
literals.
If set, \+, \? are operators and plain +, ? are literals. */
! #define RE_BK_PLUS_QM (ONE << 2)
/* If this bit is set, | binds tighter than ^ or $.
If not set, the contrary. */
! #define RE_TIGHT_VBAR (ONE << 3)
/* If this bit is set, then treat newline as an OR operator.
If not set, treat it as a normal character. */
! #define RE_NEWLINE_OR (ONE << 4)
/* If this bit is set, then special characters may act as normal
characters in some contexts. Specifically, this applies to:
--- 48,72 ----
parentheses are needed for literal searching.
If not set, backslash-parentheses are grouping, and plain parentheses
are for literal searching. */
! #define RE_NO_BK_PARENS 1
/* If this bit is set, plain | serves as the `or'-operator, and \| is a
literal.
If not set, \| serves as the `or'-operator, and | is a literal. */
! #define RE_NO_BK_VBAR (1 << 1)
/* If this bit is not set, plain + or ? serves as an operator, and \+, \? are
literals.
If set, \+, \? are operators and plain +, ? are literals. */
! #define RE_BK_PLUS_QM (1 << 2)
/* If this bit is set, | binds tighter than ^ or $.
If not set, the contrary. */
! #define RE_TIGHT_VBAR (1 << 3)
/* If this bit is set, then treat newline as an OR operator.
If not set, treat it as a normal character. */
! #define RE_NEWLINE_OR (1 << 4)
/* If this bit is set, then special characters may act as normal
characters in some contexts. Specifically, this applies to:
***************
*** 90,139 ****
If this bit is not set, special characters (such as *, ^, and $)
always have their special meaning regardless of the surrounding
context. */
! #define RE_CONTEXT_INDEP_OPS (ONE << 5)
/* If this bit is not set, then \ before anything inside [ and ] is taken as
a real \.
If set, then such a \ escapes the following character. This is a
special case for awk. */
! #define RE_AWK_CLASS_HACK (ONE << 6)
/* If this bit is set, then \{ and \} or { and } serve as interval operators.
If not set, then \{ and \} and { and } are treated as literals. */
! #define RE_INTERVALS (ONE << 7)
/* If this bit is not set, then \{ and \} serve as interval operators and
{ and } are literals.
If set, then { and } serve as interval operators and \{ and \} are
literals. */
! #define RE_NO_BK_CURLY_BRACES (ONE << 8)
/* If this bit is set, then character classes are supported; they are:
[:alpha:], [:upper:], [:lower:], [:digit:], [:alnum:], [:xdigit:],
[:space:], [:print:], [:punct:], [:graph:], and [:cntrl:].
If not set, then character classes are not supported. */
! #define RE_CHAR_CLASSES (ONE << 9)
/* If this bit is set, then the dot re doesn't match a null byte.
If not set, it does. */
! #define RE_DOT_NOT_NULL (ONE << 10)
/* If this bit is set, then [^...] doesn't match a newline.
If not set, it does. */
! #define RE_HAT_NOT_NEWLINE (ONE << 11)
/* If this bit is set, back references are recognized.
If not set, they aren't. */
! #define RE_NO_BK_REFS (ONE << 12)
/* If this bit is set, back references must refer to a preceding
subexpression. If not set, a back reference to a nonexistent
subexpression is treated as literal characters. */
! #define RE_NO_EMPTY_BK_REF (ONE << 13)
/* If this bit is set, bracket expressions can't be empty.
If it is set, they can be empty. */
! #define RE_NO_EMPTY_BRACKETS (ONE << 14)
/* If this bit is set, then *, +, ? and { cannot be first in an re or
immediately after a |, or a (. Furthermore, a | cannot be first or
--- 76,125 ----
If this bit is not set, special characters (such as *, ^, and $)
always have their special meaning regardless of the surrounding
context. */
! #define RE_CONTEXT_INDEP_OPS (1 << 5)
/* If this bit is not set, then \ before anything inside [ and ] is taken as
a real \.
If set, then such a \ escapes the following character. This is a
special case for awk. */
! #define RE_AWK_CLASS_HACK (1 << 6)
/* If this bit is set, then \{ and \} or { and } serve as interval operators.
If not set, then \{ and \} and { and } are treated as literals. */
! #define RE_INTERVALS (1 << 7)
/* If this bit is not set, then \{ and \} serve as interval operators and
{ and } are literals.
If set, then { and } serve as interval operators and \{ and \} are
literals. */
! #define RE_NO_BK_CURLY_BRACES (1 << 8)
/* If this bit is set, then character classes are supported; they are:
[:alpha:], [:upper:], [:lower:], [:digit:], [:alnum:], [:xdigit:],
[:space:], [:print:], [:punct:], [:graph:], and [:cntrl:].
If not set, then character classes are not supported. */
! #define RE_CHAR_CLASSES (1 << 9)
/* If this bit is set, then the dot re doesn't match a null byte.
If not set, it does. */
! #define RE_DOT_NOT_NULL (1 << 10)
/* If this bit is set, then [^...] doesn't match a newline.
If not set, it does. */
! #define RE_HAT_NOT_NEWLINE (1 << 11)
/* If this bit is set, back references are recognized.
If not set, they aren't. */
! #define RE_NO_BK_REFS (1 << 12)
/* If this bit is set, back references must refer to a preceding
subexpression. If not set, a back reference to a nonexistent
subexpression is treated as literal characters. */
! #define RE_NO_EMPTY_BK_REF (1 << 13)
/* If this bit is set, bracket expressions can't be empty.
If it is set, they can be empty. */
! #define RE_NO_EMPTY_BRACKETS (1 << 14)
/* If this bit is set, then *, +, ? and { cannot be first in an re or
immediately after a |, or a (. Furthermore, a | cannot be first or
***************
*** 140,160 ****
last in an re, or immediately follow another | or a (. Also, a ^
cannot appear in a nonleading position and a $ cannot appear in a
nontrailing position (outside of bracket expressions, that is). */
! #define RE_CONTEXTUAL_INVALID_OPS (ONE << 15)
/* If this bit is set, then +, ? and | aren't recognized as operators.
If it's not, they are. */
! #define RE_LIMITED_OPS (ONE << 16)
/* If this bit is set, then an ending range point has to collate higher
or equal to the starting range point.
If it's not set, then when the ending range point collates higher
than the starting range point, the range is just considered empty. */
! #define RE_NO_EMPTY_RANGES (ONE << 17)
/* If this bit is set, then a hyphen (-) can't be an ending range point.
If it isn't, then it can. */
! #define RE_NO_HYPHEN_RANGE_END (ONE << 18)
/* Define combinations of bits for the standard possibilities. */
--- 126,146 ----
last in an re, or immediately follow another | or a (. Also, a ^
cannot appear in a nonleading position and a $ cannot appear in a
nontrailing position (outside of bracket expressions, that is). */
! #define RE_CONTEXTUAL_INVALID_OPS (1 << 15)
/* If this bit is set, then +, ? and | aren't recognized as operators.
If it's not, they are. */
! #define RE_LIMITED_OPS (1 << 16)
/* If this bit is set, then an ending range point has to collate higher
or equal to the starting range point.
If it's not set, then when the ending range point collates higher
than the starting range point, the range is just considered empty. */
! #define RE_NO_EMPTY_RANGES (1 << 17)
/* If this bit is set, then a hyphen (-) can't be an ending range point.
If it isn't, then it can. */
! #define RE_NO_HYPHEN_RANGE_END (1 << 18)
/* Define combinations of bits for the standard possibilities. */
***************
*** 248,256 ****
/* 4.2 bsd compatibility. */
extern char *re_comp (char *);
extern int re_exec (char *);
-
- /* for GNU grep [tho] */
- extern LONG re_set_syntax (LONG syntax);
#else /* !__STDC__ */
--- 234,239 ----